1. Technical Field
The present invention is directed generally toward a method and apparatus for improving performance in a SCSI (small computer system interface) topology; more particularly, the present invention is directed toward improving performance by eliminating the arbitration phase in some circumstances.
2. Description of the Related Art
The need for faster data access in SCSI topologies has grown due to faster processors and enhanced PCI bus architectures that increase data transfer rates using wider data paths and improved clock rates. During the time when the system is running, the SCSI bus is generally either active or idle. If active, the bus is busy transmitting data from one device to another; if idle, it is available for a device to begin sending a command or data. When a device decides it wants to use the bus, it “bids” for control of the bus. It is also possible that other devices on the bus will want to use it at the same time, so they too may “bid” for control. A specific method is used to resolve these requests and decide which device gets to use the bus first; this is based to some extent on the devices' respective priority levels. This process is called arbitration.
While arbitration works fine in regular SCSI configurations, it introduces overhead. During the time that arbitration is going on, no data is being transferred on the bus, so it makes sense that doing this faster will allow improved performance of the entire SCSI subsystem. To this end, the SPI-3 standard defined a feature that reduces the overhead required for arbitration. This feature is called quick arbitration and selection or QAS.
QAS reduces bus overhead by reducing the time required to implement arbitration on the bus compared to normal arbitration. When the feature is used, a device waiting for the bus can grab it more quickly after the last device on the bus sends the signal that it is done, without having to begin a normal arbitration process. Provision is made in the specification to ensure that one device does not “dominate” the bus by “unfairly” blocking out other devices that may be of a lower priority or may not implement QAS.
In current SCSI systems, SCSI applications must create an initiator/target connection through arbitration and selection. The normal arbitration period on a SCSI bus can only occur after a bus clear condition. The term “bus clear” refers to a point in time on the SCSI bus when the signal BSY (busy) and SEL (select) are both deasserted for a period of time (e.g., 400 ns in some current systems) indicating the bus is “free,” plus an additional time span (e.g., another 800 ns) indicating the bus is “clear.” After waiting for the bus clear condition, the bus is idle and normal arbitration can start. After the normal arbitration period has completed (e.g., 2.4 microseconds later in many current systems), the selection phase begins. After the connection is established, the data transfer takes place and the drive either does a QAS disconnect or a normal disconnect followed by a bus free condition.
Unless another generation of SCSI topology is developed, performance of SCSI interfaces must be improved by increasing the efficiency and speed with which current topologies perform their duties. Therefore, current data processing systems would benefit from improved data transfer rates that deliver valid data sooner after a data request, and from the elimination of some time usage associated with arbitration after bus inactivity.